// 引入Count的ui组件
import CountUI from '../../components/Count/Count'
// 引入connect 用于UI组件链接redux
import { connect } from 'react-redux'
// 创建暴露Count的容器组件
import { createAddMsg, createNoaddMsg, createAsyncAddMsg } from '../../redux/count_action'
/*
    1.mapStateToProps 函数返回一个对象
    2.对象中的key作为传递给UI组件props的Key，value就作为传递给UI组件props的value
    3.mapStateToProps 用于传递状态
*/
const mapStateToProps = (count) => {
    return { count }
}
/*
    1.mapDispatchToProps 函数返回一个对象
    2.对象中的key作为传递给UI组件props的Key，value就作为传递给UI组件props的value
    3.mapDispatchToProps 用于传递状态
*/
// 或者使用es6的写法
/*
    const mapDispatchToProps = (dispatch) => ({ jia: (data) => dispatch(createAddMsg(data)) })
*/
// 一般方法
/*
    const mapDispatchToProps = (dispatch) => {
    return {
        // 通知redux执行加法
        add: (data) => dispatch(createAddMsg(data)),
        noadd: (data) => dispatch(createNoaddMsg(data)),
        asyncAdd: (data,time) => dispatch(createAsyncAddMsg(data,time))
    }
}
*/
export default connect(mapStateToProps, {
    // 通知redux执行加法
    add: createAddMsg,
    noadd: createNoaddMsg,
    asyncAdd: createAsyncAddMsg
})(CountUI)